home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Extras / MIDI / camd-37.1 / development / include / clib / camd_protos.h < prev   
Encoding:
C/C++ Source or Header  |  1999-10-27  |  3.3 KB  |  87 lines

  1. #ifndef CLIB_CAMD_PROTOS_H
  2. #define CLIB_CAMD_PROTOS_H
  3. /************************************************************************
  4. *     C. A. M. D.       (Commodore Amiga MIDI Driver)                   *
  5. *************************************************************************
  6. *                                                                       *
  7. * Design & Development  - Roger B. Dannenberg                           *
  8. *                       - Jean-Christophe Dhellemmes                    *
  9. *                       - Bill Barton                                   *
  10. *                       - Darius Taghavy                                *
  11. *                       - Talin & Joe Pearce                            *
  12. *                                                                       *
  13. * Copyright 1990-1999 by Amiga, Inc.                                    *
  14. *************************************************************************
  15. *
  16. * clib/camd_protos.h    - camd.library function prototypes
  17. *
  18. ************************************************************************/
  19.  
  20. #ifndef EXEC_TYPES_H
  21.   #include <exec/types.h>
  22. #endif
  23.  
  24. #ifndef MIDI_CAMD_H
  25.   #include <midi/camd.h>
  26. #endif
  27.  
  28.     /* ---- Locks */
  29. APTR LockCAMD (ULONG locknum);
  30. void UnlockCAMD (APTR lock);
  31.  
  32.     /* ---- MidiNode */
  33. struct MidiNode *CreateMidiA (struct TagItem *);
  34. struct MidiNode *CreateMidi (Tag, ...);
  35. void DeleteMidi (struct MidiNode *);
  36. BOOL SetMidiAttrsA (struct MidiNode *, struct TagItem *);
  37. BOOL SetMidiAttrs (struct MidiNode *, Tag tag, ...);
  38. ULONG GetMidiAttrsA (struct MidiNode *, struct TagItem *);
  39. ULONG GetMidiAttrs (struct MidiNode *, Tag tag, ...);
  40. struct MidiNode *NextMidi (struct MidiNode *);
  41. struct MidiNode *FindMidi (STRPTR);
  42. void FlushMidi (struct MidiNode *);
  43.  
  44.     /* ---- MidiLink */
  45. struct MidiLink *AddMidiLinkA (struct MidiNode *, LONG, struct TagItem *);
  46. struct MidiLink *AddMidiLink (struct MidiNode *, LONG, Tag, ...);
  47. void RemoveMidiLink (struct MidiLink *);
  48. BOOL SetMidiLinkAttrsA (struct MidiLink *, struct TagItem *);
  49. BOOL SetMidiLinkAttrs (struct MidiLink *, Tag tag, ...);
  50. ULONG GetMidiLinkAttrsA (struct MidiLink *, struct TagItem *);
  51. ULONG GetMidiLinkAttrs (struct MidiLink *, Tag tag, ...);
  52. struct MidiLink *NextClusterLink (struct MidiCluster *, struct MidiLink *, LONG);
  53. struct MidiLink *NextMidiLink (struct MidiNode *, struct MidiLink *, LONG);
  54. BOOL MidiLinkConnected (struct MidiLink *);
  55.  
  56.     /* ---- MidiCluster */
  57. struct MidiCluster *NextCluster(struct MidiCluster *);
  58. struct MidiCluster *FindCluster(STRPTR);
  59.  
  60.     /* ---- Message */
  61. void PutMidi (struct MidiLink *, LONG);
  62. BOOL GetMidi (struct MidiNode *, MidiMsg *);
  63. BOOL WaitMidi (struct MidiNode *, MidiMsg *);
  64.  
  65. void PutSysEx (struct MidiLink *, UBYTE *);
  66. ULONG GetSysEx (struct MidiNode *, UBYTE *, ULONG);
  67. ULONG QuerySysEx (struct MidiNode *);
  68. void SkipSysEx (struct MidiNode *);
  69.  
  70. UBYTE GetMidiErr (struct MidiNode *);
  71. WORD MidiMsgType (MidiMsg *);
  72. WORD MidiMsgLen (ULONG StatusByte);
  73.  
  74. void ParseMidi (struct MidiLink *, UBYTE *Buffer, ULONG Length);
  75.  
  76.     /* ---- Devices */
  77. struct MidiDeviceData *OpenMidiDevice (UBYTE *Name);
  78. void CloseMidiDevice (struct MidiDeviceData *);
  79.  
  80.     /* ---- External Support */
  81. int RethinkCAMD(void);
  82. void StartClusterNotify(struct ClusterNotifyNode *);
  83. void EndClusterNotify(struct ClusterNotifyNode *);
  84.  
  85. #endif /* CLIB_CAMD_PROTOS_H */
  86.  
  87.